import {NgModule} from '@angular/core';
import {CommonModule, DatePipe} from '@angular/common';
import {FormsModule, ReactiveFormsModule} from '@angular/forms';

import {NavigationRoutingModule} from './navigation-routing.module';
import {NavigationComponent} from './navigation.component';
import {EmptyComponent} from './empty/empty.component';
import {NavigationBackgroundComponent} from './navigation-background/navigation-background.component';
import {MenuComponent} from './menu/menu.component';
import {MenuService} from '../../service/menu.service';
import {StarComponent} from './menu/star/star.component';
import {MenuFavoriteService} from '../../service/menu_favorite.service';
import {NavigationToolbarComponent} from './navigation-toolbar/navigation-toolbar.component';
import {TitleComponent} from './title/title.component';
import {NzIconModule} from 'ng-zorro-antd';
import {FlexLayoutModule} from '@angular/flex-layout';
import {UserSessionComponent} from './user-session/user-session.component';
import {UserService} from '../../service/user.service';
import {FactoryService} from '../../service/factory.service';
import {InterceptorService} from '../../service/interceptor/interceptor-service';
import {AlarmCategoryService} from '../../service/alarm-category.service';
import {EarlyWarningService} from '../../service/early-warning.service';
import {FarmService} from '../../service/farm.service';
import {FaultLevelService} from '../../service/fault_level.service';
import {TagMapService} from '../../service/tag-map.service';
import {UserFarmAlarmconfigService} from '../../service/user-farm-alarmconfig.service';
import {UserAlarmconfigService} from '../../service/user_alarmconfig.service';
import {SubstationComponent} from './alarm-lamp/substation/substation.component';
import {AlarmLampComponent} from './alarm-lamp/alarm-lamp.component';
import {MaterialSharedModule} from '../../shared/material-shared.module';
import {MainModule} from '../monitor/main/main.module';
import {AudioModule} from '../common/audio/audio.module';

@NgModule({
  imports: [
    FormsModule,
    ReactiveFormsModule,
    CommonModule,
    FlexLayoutModule,
    NavigationRoutingModule,
    NzIconModule,
    MaterialSharedModule,
    MainModule,
    AudioModule,
  ],
  declarations: [
    NavigationComponent,
    EmptyComponent,
    MenuComponent,
    StarComponent,
    NavigationBackgroundComponent,
    NavigationToolbarComponent,
    UserSessionComponent,
    TitleComponent,
    SubstationComponent,
    AlarmLampComponent,
  ],
  providers: [
    DatePipe,
    MenuService,
    UserService,
    FactoryService,
    MenuFavoriteService,
    InterceptorService,
    AlarmCategoryService,
    EarlyWarningService,
    FarmService,
    FaultLevelService,
    TagMapService,
    UserFarmAlarmconfigService,
    UserAlarmconfigService
  ]
})
export class NavigationModule {
}


